A panoramic image of a scene has traditionally been created by rotating a vertical slit camera about an optical center. Using this technique, film at the optical center is continuously exposed to create a wide field of view (e.g., a 360° field of view). Because of their specialized design, however, vertical slit cameras are relatively expensive. Further, because the panoramic image is captured in a continuous rotation of the camera, it is difficult to adjust the camera to account for changes in the scene, such as lighting or focal depth, as the camera is rotated.
In a more modern technique for creating panoramic images, called “image stitching”, a scene is photographed from different camera orientations to obtain a set of discrete images. The discrete images of the scene are then transferred to a computer which executes application software to blend the discrete images into a panoramic image.
After the panoramic image is created, application software may be executed to render user-specified portions of the panoramic image onto a display. The effect is to create a virtual environment that can be navigated by a user. Using a mouse, keyboard, headset or other input device, the user can pan about the virtual environment and zoom in or out to view objects of interest.
One disadvantage of existing image stitching techniques is that photographed images must be transferred from the camera to the computer before they can be stitched together to create a navigable panoramic image. For example, with a conventional exposed-film camera, film must be exposed, developed, printed and digitized (e.g., using a digital scanner) to obtain a set of images that can be stitched into a panoramic image. In a digital camera, the process is less cumbersome, but images must still be transferred to a computer to be stitched into a panoramic view.
Another disadvantage of existing image stitching techniques is that the orientation of the camera used to photograph each discrete image is typically unknown. This makes it more difficult to stitch the discrete images into a panoramic image because the spatial relationship between the constituent images of the panoramic image are determined, at least partly, based on the respective orientations of the camera at which they were captured. In order to determine the spatial relationship between a set of images that are to be stitched into a panoramic image, application software must be executed to prompt the user for assistance, hunt for common features in the images, or both.
Yet another disadvantage of existing image stitching techniques is that it is usually not possible to determine whether there are missing views in the set of images used to create the panoramic image until after the images have been transferred to the computer and stitched. Depending on the subject of the panoramic image, it may be inconvenient or impossible to recreate the scene necessary to obtain the missing view. Because of the difficulty determining whether a complete set of images has been captured, images to be combined into a panoramic image are typically photographed with conservative overlap to avoid gaps in the panoramic image. Because there is more redundancy in the captured images, however, a greater number of images must be obtained to produce the panoramic view. For conventional film cameras, this means that more film must be exposed, developed, printed and scanned to produce a panoramic image than if less conservative image overlap were possible. For digital cameras, more memory must typically be provided to hold the larger number of images that must be captured than if less conservative image overlap were possible.